import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './assets/css/global.css'
import './assets/fonts/iconfont'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import axios from 'axios'
Vue.config.productionTip = false

Vue.use(ElementUI)
// 配置请求的跟路径
axios.defaults.baseURL = process.env.VUE_APP_BASE_URL
Vue.prototype.$http = axios
Vue.config.productionTip = false

//格式化日期
Vue.prototype.formatDate = function (val, type) {
  var date = val
  var Y = date.getFullYear() + '-';
  var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
  var h = date.getHours() + ':';
  var m = date.getMinutes() + ':';
  var s = date.getSeconds();
  var df
  if (type == 1) {
    df = Y + M + D;
  }
  else {
    df = Y + M + D + ' ' + h + m + s;
  }
  return df;
}

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // 判断是否存在token,如果存在将每个页面header添加token
  console.log("每次请求的token", localStorage.getItem("token"))
  if (localStorage.getItem("token")) {
    config.headers.common['token'] = localStorage.getItem("token");
  }
  console.log("config", config)
  return config
}, function (error) {
  console.log("error", error)
  // router.push('/login')
  return Promise.reject(error)
})

axios.interceptors.response.use(response => {

  console.log('sdgsdsd', response)
  let token = response.headers.authorization
  console.log(response.headers.authorization)
  // 对响应数据做点什么
  if (token) {
    localStorage.setItem("token", token)

  }


  return response;


}, error => {


  // 对响应错误做点什么


  // 在这里统一处理HTTP错误


  router.push('/login')
  return Promise.reject(error)


});



// axios.interceptors.response.use(function (response) { //自定义响应参数名
//   console.log('response',response);

//   // if (response.status == 500) {
//   //     alert("服务器出现错误");
//   // }
//   //其他错误处理...
//   // return response; //这里必须返回 response，否则报错
// }),function(error){
//   console('error',error)
//   // return response
// }


new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
